using CreditoAutorizado.Dados.Entidades;
using CreditoAutorizado.Dados.Enumeradores;
using FluentNHibernate.Mapping;

namespace CreditoAutorizado.Dados.Mapeamento
{
    public class MapDebito : ClassMap<Debito>
    {
        public MapDebito()
        {
            Table("Debito");
            Id(x => x.DebitoId);
            Map(x => x.DataEmissao);
            Map(x => x.DataPagamento);
            Map(x => x.DataPrevistaPagamento);
            Map(x => x.Descricao);
            Map(x => x.DescricaoPagamento);
            Map(x => x.Quitado).Default("false");
            Map(x => x.Valor);
            Map(x => x.Status).CustomType(typeof(TipoStatus));
            References(x => x.Usuario).Not.LazyLoad();
            References(x => x.Cliente).Not.LazyLoad();
            HasMany(x => x.ListaComentarios).Cascade.AllDeleteOrphan();
        }
    }
}